package com.cy.mall.model.domain.product;

import com.cy.mall.model.enums.ThirdSource;
import com.cy.mall.model.enums.product.ProductStatus;
import com.cy.mall.model.enums.product.SignType;
import lombok.Data;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @description: 产品
 * @author: Ocean
 * @create: 2018-07-17 14:38
 **/
@Data
@Table(name = "t_product")
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /** 产品类型ID */
    private Long typeId;

    /** 某个产品类型下的产品标识 */
    private String no;
    
    /** 产品名称 */
    private String name;

    /** 最小贷款额度 */
    private BigDecimal minCreditLimit;

    /** 最大贷款额度 */
    private BigDecimal maxCreditLimit;

    /** 热门排序 */
    private Integer hotOrder;

    /** 状态 */
    private ProductStatus status;

    /** 标签文本 */
    private String tagsText;

    /** icon 路径 */
    private String iconPath;

    /** 城市 */
    private String city;
    
    /** 协议扣点数 */
	private BigDecimal withholdRate;
	
	/** 渠道佣金点数 */
	private BigDecimal commissionRate;

    /** 资金来源 */
    private Long sourceId;

    /** 是否使用代扣 */
    private Boolean useWithhold;
    
    /** 是否返佣 */
    private Boolean useCommission;
    
    /** 推荐语 */
    private String recommendation;
    
    /** 签约类型 */
    private SignType signType;
    
    /** 产品方登录说明页面地址 */
    private String sourceLoginUrl;

    /** 签约流程 */
    private String signProcess;
    
    /** 是否推广 */
    private Boolean extend;
    
    /** 产品方地址 */
    private String sourceUrl;

    /** 服务费率 */
    private String feeRate;

    /** 管理费率 */
    private String percentage;

    /** 产品第三方来源 */
    private ThirdSource thirdSource;

    /** 第三方产品类型 */
    private String thirdProductType;

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

}
